package br.com.tenax.converter;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;

import br.com.tenax.dao.FornecedorDAO;
import br.com.tenax.dao.FornecedorDAOHibernate;
import br.com.tenax.entity.Fornecedor;

@FacesConverter(value="fornecedorConverter")
public class FornecedorConverter implements Converter {
	private FornecedorDAO dao = new FornecedorDAOHibernate();

	@Override
	public Object getAsObject(FacesContext arg0, UIComponent arg1, String arg2) {
	
		if (arg2 == null || Integer.valueOf(arg2) == 0) {
			return arg2;
		}
		Fornecedor fornecedor= null;
		try {
			Fornecedor f= new Fornecedor();
			f.setId(Integer.valueOf(arg2));
			fornecedor = dao.consultar(f);
			
		} catch (NumberFormatException e) {
			System.out.println("Erro......"+e.getMessage());
			e.printStackTrace();
		}
		return fornecedor;
	}

	@Override
	public String getAsString(FacesContext arg0, UIComponent arg1, Object value ) {
		if (value == null || ((Fornecedor) value).getId() == 0 ) {
			return "";
		}
		System.out.println("Value converter --------->"
				+ value.toString());
		Fornecedor fornecedor = (Fornecedor) value;
		
		return String.valueOf(fornecedor.getId());		
	}
}